C0C0C0rvizC0The trip begins with acquiring the parts. Here, we provide a link to all bits and pieces that are needed to build a Duckiebot, along with their price tag.
In general, keep in mind that:
Resources necessaries:
D17-0)Results:
Add a different “Tools” section in the table (e.g., solderer), or add in the resoruces beginning snippet; Differentiate pricing for bulk vs detail purchase (?)
| Chassis | USD 20 |
| Camera with 160-FOV Fisheye Lens | USD 22 |
| Camera Mount | USD 8.50 |
| 300mm Camera Cable | USD 2 |
| Raspberry Pi 3 - Model B | USD 35 |
| Heat Sinks | USD 5 |
| Power supply | USD 7.50 |
| 16 GB Class 10 MicroSD Card | USD 20 |
| Mirco SD card reader | USD 6 |
| Tiny 32GB USB Flash Drive | USD 12.50 |
| Stepper Motor HAT | USD 22.50 |
Stacking Headers 2 for D17-1, 1 otherwise |
USD 2.50/piece |
| Battery | USD 20 |
| 16 Nylon Standoffs (M2.5 12mm F 6mm M | USD 0.05/piece |
| 4 Nylon Hex Nuts (M2.5) | USD 0.02/piece |
| 4 Nylon Screws (M2.5x10) | USD 0.05/piece |
| 2 Zip Ties (300x5mm) | USD 8.99 |
Wifi Augmenter (D17-0+w) |
USD 20 |
Joypad (D17-0+j) |
USD 10.50 |
20 Female-Female Jumper Wires (300mm) (D17-1) |
USD 8 |
Male-Male Jumper Wire (150mm) (D17-1) |
USD 1.95 |
LEDs (D17-1) |
USD 10 |
LED HAT (D17-1) |
USD 28.20 for 3 pieces |
PWM/Servo HAT (D17-1) |
USD 17.50 |
40 pin female header (D17-1) |
USD 1.50 |
Bumpers (D17-1) |
TBD (custom made) |
5 4 pin female header (D17-1) |
USD 0.60/piece |
2 16 pin male header (D17-1) |
USD 0.61/piece |
12 pin male header (D17-1) |
USD 0.48/piece |
3 pin male header (D17-1) |
USD 0.10/piece |
2 pin female shunt jumper (D17-1) |
USD 2/piece |
5 200 Ohm resistors (D17-1) |
USD 0.10/piece |
10 130 Ohm resistors (D17-1) |
USD 0.10/piece |
Total for D17-0 configuration |
USD 191.50 |
Total for D17-0+w configuration |
USD 211.50 |
Total for D17-0+j configuration |
USD 222 |
Total for D17-1 configuration |
USD 281+Bumpers |
We selected the Magician Chassis as the basic chassis for the robot (Figure 2).
We chose it because it has a double-decker configuration, and so we can put the battery in the lower part.
The chassis pack includes the motors and wheels as well as the structural part.
The price for this in the US is about USD 15-30.
The RPI-3 is the central computer of the Duckiebot. Duckiebot version D17 uses Model B (Figure 3) (A1.2GHz 64-bit quad-core ARMv8 CPU, 1GB RAM), a small but powerful computer.
The price for this in the US is about USD 35.
We want a hard-wired power source (5VDC, 2.4A, Micro USB) to supply the RPI-3 (Figure 4).
The price for this in the US is about USD 5-10.
The RPI-3 will heat up significantly during use. It is warmly recommended to add heat sinks, as in Figure 5. Since we will be stacking HATs on top of the RPI-3 with 15 mm standoffs, the maximum height of the heat sinks should be well below 15 mm. The chip dimensions are 15x15 mm and 10x10 mm.
The MicroSD card (Figure 6) is the hard disk of the RPI-3. 16 Gigabytes of capacity are sufficient for the system image.
A MicroSD card reader (Figure 7) is useful to copy the system image to a Duckiebot from a computer to the RPI-3 microSD card, when the computer does not have a native SD card slot.
This “external” hard drive (Figure 8) is very convenient to store logs during experiments and later port them to a workstation for analysis. It provides storage capacity and faster data transfer than the MicroSD card.
The Camera is the main sensor of the Duckiebot. Version D17 equips a 5 Mega Pixels 1080p camera with wide field of view ($160^\circ$) fisheye lens (Figure 9).
The camera mount (Figure 10) serves to keep the camera looking forward at the right angle to the road (looking slightly down). The front cover is not essential.
A longer (300 mm) camera cable Figure 11 make assembling the Duckiebot easier, allowing for more freedom in the relative positioning of camera and computational stack.
The Edimax AC1200 EW-7822ULC wifi adpater (Figure 12) boosts the connectivity of the Duckiebot, especially useful in busy Duckietowns (e.g., classroom).
The joypad is used to manually remote control the Duckiebot. Any 2.4 GHz wireless controller (with a tiny USB dongle) will do.
The model link in the table (Figure 13) does not include batteries (2 AA 1.5V)!
We use the DC Stepper motor HAT (Figure 13) to control the DC motors that drive the wheels. This item will require soldering to be functional.
We use long 20x2 stacking headers (Figure 15) to connect the RPI-3 with the other HATs, creating a stack. This item will require soldering to be functional.
In configuration D17-1, we need 2 stacking headers.
In all configurations, we use only 1 stacking header.
The battery (Figure 16) provides power to the Duckiebot.
We choose this battery because it has a good combination of size (to fit in the lower deck of the Magician Chassis), high output amperage (2.4A and 2.1A at 5V DC) over two USB outputs, a good capacity (10400 mAh) at an affordable price (USD 20).
We use non electrically conductive standoffs (M2.5 12mm F 6mm M), nuts (M2.5), and screws (M2.5x10mm) to hold the RPI-3 to the chassis and the HATs stacked on top of the RPI-3.
In configuration D17-0 and D17-0+w or D17-0+j, the Duckiebot requires 8 standoffs, 4 nuts and 4 screws.
In configuration D17-1, the Duckiebot requires 16 standoffs, 4 nuts and 4 screws.
Two 300x5mm zip ties are going to be useful to keep the battery at the lower deck from moving around.
In configuration D17-1, the Duckiebot is equipped with 5 RGB LEDs. LEDs can be used to signal to other Duckiebots, or just make cool patterns!
The pack of LEDs linked in the table above holds 10 LEDs, enough for two Duckiebots.
In configuration D17-1, the LED HAT (Figure 20) provides an interface for our RGB LEDs and the computational stack. This board is a daughterboard for the Adafruit 16-Channel PWM/Servo HAT, and enables connection with additional gadgets such as ADS1015 12 Bit 4 Channel ADC, Monochrome 128x32 I2C OLED graphic display, and Adafruit 9-DOF IMU Breakout - L3GD20H+LSM303. This item will require soldering to be functional.
This board is custom degined and can only be ordered in minimum runs of 3 pieces. The price scales down quickly with quantity, and lead times may be significant, so it is better to buy these boards in bulk.
In configuration D17-1, the PWM/Servo HAT HAT (Figure 21) mates to the LED HAT and provides the signals to control the LEDs, without taking computational resources away from the Rasperry Pi itself. This item will require soldering to be functional.
In configuration D17-1, the Duckiebot requires one male-male jumper wire (Figure 22) to power the DC Stepper Motor HAT from the PWM/Servo HAT.
In configuration D17-1, 20 Female-Female Jumper Wires (Figure 23) are necessary to connect 5 LEDs to the LED HAT.
These bumpers are designed to keep the LEDs in place and are therefore used only in configuration D17-1. They are custom designed parts, so they must be produced and cannot be bought. We used laser cutting facilities. Our design files are available [here].
add links to .sldprt files once confirmed final version
5 4 pin female header
2 16 pin male header
1 12 pin male header
1 3 pin male header
1 2 pin female shunt jumper
5 200 Ohm resistors
10 130 Ohm resistors
These items will require soldering to be functional.
Clean up